﻿using Magicodes.ExporterAndImporter.Core;
using Magicodes.ExporterAndImporter.Excel;
using OfficeOpenXml.Table;
using System;
using System.Collections.Generic;
using System.Text;

namespace NP.BPMReportPlatform.GC.Dto
{
    /// <summary>
    /// 获取加急运输出参
    /// </summary>
    [ExcelExporter(Name = "报表数据", TableStyle = TableStyles.Light10, AutoFitAllColumn = true)]
    public class GetExpeditedTransportOutput
    {
        /// <summary>
        /// 发起人名称
        /// </summary>
        [ExporterHeader(DisplayName = "申请人")]
        public string UserName { get; set; }

        /// <summary>
        /// 流程ID
        /// </summary>
        [ExporterHeader(DisplayName = "单据号")]
        public string InstanceNumber { get; set; }

        /// <summary>
        /// 单据状态
        /// </summary>        
        [ExporterHeader(DisplayName = "单据状态")]
        public string OrderStatus { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        [ExporterHeader(DisplayName = "申请时间")]
        public DateTime CreateTime { get; set; }


        /// <summary>
        /// 申请类型
        /// </summary>
        [ExporterHeader(DisplayName = "申请类型")]
        public string ApplicationType { get; set; }

        /// <summary>
        /// 销售部
        /// </summary>
        [ExporterHeader(DisplayName = "销售部")]
        public string Sales { get; set; }

        /// <summary>
        /// 项目落地公司
        /// </summary>
        [ExporterHeader(DisplayName = "项目落地公司")]
        public string LandingCompany { get; set; }

        /// <summary>
        /// 出货工厂
        /// </summary>
        [ExporterHeader(DisplayName = "出货工厂")]
        public string ShippingFactory { get; set; }

        /// <summary>
        /// 客户编码
        /// </summary>
        [ExporterHeader(DisplayName = "客户编码")]
        public string CustomerCode { get; set; }


        /// <summary>
        /// 客户名称
        /// </summary>
        [ExporterHeader(DisplayName = "客户名称")]
        public string CustomerName { get; set; }


        /// <summary>
        /// 商机号
        /// </summary>
        [ExporterHeader(DisplayName = "商机号")]
        public string OpportunityNumber { get; set; }

        /// <summary>
        /// 项目名称
        /// </summary>
        [ExporterHeader(DisplayName = "项目名称")]
        public string ProjectName { get; set; }


        /// <summary>
        /// 发货地址
        /// </summary>
        [ExporterHeader(DisplayName = "发货地址")]
        public string DeliveryAddress { get; set; }


        /// <summary>
        /// 运费差异总额
        /// </summary>
        [ExporterHeader(DisplayName = "运费差异总额")]
        public decimal TotalFreightDifference { get; set; }


        /// <summary>
        /// 原因
        /// </summary>
        [ExporterHeader(DisplayName = "原因分类")]
        public string Reason { get; set; }


        /// <summary>
        /// 产品分类
        /// </summary>
        [ExporterHeader(DisplayName = "产品分类")]
        public string ProductCategory { get; set; }


        /// <summary>
        /// 承担运费的成本中心（责任部门填写）
        /// </summary>
        [ExporterHeader(DisplayName = "承担运费的成本中心")]
        public string CostCenter { get; set; }


        /// <summary>
        /// 申请理由
        /// </summary>
        [ExporterHeader(DisplayName = "申请理由")]
        public string ApplicationReason { get; set; }

        /// <summary>
        /// 单据详情链接
        /// </summary>
        [IEIgnore(IsExportIgnore = true)]
        public string Url { get; set; }

        /// <summary>
        /// 要求到货日期
        /// </summary>
        [ExporterHeader(DisplayName = "要求到货日期")]
        public string RequestArrivalTime { get; set; }


        /// <summary>
        ///  交货单号/销售凭证
        /// </summary>
        [ExporterHeader(DisplayName = "交货单号/销售凭证")]
        public string DeliveryNoteNo { get; set; }


        /// <summary>
        /// 出库重量(公斤）
        /// </summary>
        [ExporterHeader(DisplayName = "出库重量(公斤）")]
        public string OutboundWeight { get; set; }


        /// <summary>
        /// 标准运输费用（元）
        /// </summary>
        [ExporterHeader(DisplayName = "标准运输费用（元）")]
        public string StandardShippingAmount { get; set; }

        /// <summary>
        /// A-加急运输费用（元）
        /// </summary>
        [ExporterHeader(DisplayName = "A-加急运输费用（元）")]
        public string ExpeditedShippingAmount { get; set; }


        /// <summary>
        /// B-开票金额（元）
        /// </summary>
        [ExporterHeader(DisplayName = "B-开票金额（元）")]
        public string InvoiceAmount { get; set; }

        /// <summary>
        /// 运占比（A/B）
        /// </summary>
        [ExporterHeader(DisplayName = "运占比（A/B）")]
        public string TransportRatio { get; set; }
    }
}
